import { ref, onMounted, getCurrentInstance } from 'vue'
import { getUserInfoAPI } from '@/api'
// 功能1
export function useFetchUserInfo () {
  // 功能1：获取数据渲染
  // 1. 声明响应式数据
  const userInfo = ref({})
  async function fetchUserInfo () {
    const res = await getUserInfoAPI()
    userInfo.value = res.data
  }
  // 2. 执行生命周期函数
  onMounted(() => {
    // 这里的逻辑就是在组件完成渲染之后自动执行
    console.log('mounted执行了1')
    fetchUserInfo()
  })
  return {
    userInfo
  }
}

// 功能2
export function useLoginOut () {
  // 功能2：退出登录
  const componentInstance = getCurrentInstance().proxy
  console.log(componentInstance)
  const loginOut = () => {
    console.log('退出登录')
    // 1. 清空数据
    componentInstance.$store.commit('clearToken')
    // 2. 跳转登录
    componentInstance.$router.push('/login')
  }
  return {
    loginOut
  }
}
